Simple data piping between two units of work (e.g., a writer application and a reader application) includes the writer application writing data to a pipe and the reader application reading data from the pipe. In one example, the pipe is a first in-first out (FIFO) queue, which is a conduit of a stream of data. As data is written to the pipe, the data is read from the pipe.
Within a single system (i.e., one operating system image), data piping is typically implemented using a FIFO buffer queue structure located in inboard memory. The pipe is accessible to both applications participating in the piping. Further, in single systems, multiple writer and reader applications of the same single system can access the same pipe, providing for a shared pipe. The shared pipe enhances performance by allowing the multiple writers and readers of the single system to access the shared pipe, concurrently.
In addition to the above, data piping has been performed between applications on two different systems, using point-to-point communication lines. In particular, the pipe is maintained on at least one of the two systems participating in the piping (i.e., at least one of the systems dispatching the work units) and there is a direct, static connection between the two systems.
However, a need still exists for a cross-system data piping facility that can be extended beyond two systems. Further, a need exists for a dynamic cross-system data piping facility that allows dynamic connections to a shared pipe and does not require static connections between the systems and the pipe. A yet further need exists for a cross-system data piping facility that enables the shared pipe to be separate from the systems that are dispatching the work.